package com.smartfactory.sail.vo.order;

import com.baomidou.mybatisplus.annotation.TableField;
import com.smartfactory.sail.dto.OrderItemsInfoDto;
import com.smartfactory.sail.entity.enums.ContractTypeEnum;
import com.smartfactory.sail.entity.enums.OrderModelEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author 王巨壁
 * @title: HTOrderInfoResp
 * @projectName smart-sail
 * @description: 合同订单详情
 * @date 2019/8/2414:02
 */
@Data
public class HTOrderInfoResp {

    @ApiModelProperty(value = "订单id")
    @NotNull
    private Long orderId;

    @ApiModelProperty(value = "客户id")
    @NotNull
    private Long custId;

    @ApiModelProperty(value = "企业名称")
    @TableField("enterpriseName")
    private String enterpriseName;

    @ApiModelProperty(value = "联系人名称")
    @NotBlank
    private String contactsName;

    @ApiModelProperty(value = "联系方式")
    @NotBlank
    private String contactInformation;

    @ApiModelProperty(value = "联系地址")
    @NotBlank
    private String addr;

    @ApiModelProperty("产品及报价")
    @NotNull
    private List<OrderItemsInfoDto> orderItemsDtos;

    @ApiModelProperty(value = "合同id")
    private Long contractId;

    @ApiModelProperty(value = "时产能")
    private Integer hourlyCapacity;

    //合同及附件
    @ApiModelProperty(value = "合同批号")
    @NotBlank
    private String contractCode;

    @ApiModelProperty(value = "合同类型1普通2加急")
    @NotNull
    private ContractTypeEnum contractType;

    @ApiModelProperty(value = "订单模式1.生产订单2修磨订单3外包订单4混合订单具体参考constants表")
    @NotNull
    private OrderModelEnum orderMode;

    @ApiModelProperty(value = "交货日期")
    @NotBlank
    private String deliveryDate;

    @ApiModelProperty(value = "合同签单人Id")
    @NotNull
    private Long underOrderId;

    @ApiModelProperty(value = "合同签单人姓名")
    private String underOrderName;

    @ApiModelProperty(value = "合同图片多个用逗号隔开")
    private String contractImgs;

}
